package moduloIndexacion.analizador;

import java.io.File;

import entidades.Documento;
import entidades.Extension;

public abstract class TemplateAnalizador {
	
	protected Extension extension;
	protected Documento documento;
	
	protected abstract String obtenerTexto();
	
	public String getTexto(Documento documento){
		this.documento = documento;
		if( !checkExtension() ){
			return null;
		}
		if( !existeFichero() ){
			return null;
		}
		String textoRetornar = obtenerTexto();
		return textoRetornar;
	}
	
	private boolean checkExtension(){
		if(documento.getExtension().compareTo(extension) !=0){
			System.out.println("ERROR: Extensiones no compatibles");
			return false;
		}
		return true;
	}
	
	private boolean existeFichero(){
		String path = documento.getUbicacion()+documento.getNombre();
		File f = new File(path);

		if (!f.isFile()) {
			System.out.println("File " + path + " does not exist.");
			return false;
		}
		return true;
	}
	
	public Extension getExtension(){
		return extension;
	}
}
